package com.atguigu.gmall.product.rpc.controller;

import com.atguigu.gmall.model.product.BaseCategoryView;
import com.atguigu.gmall.model.rpc.product.BaseCategory;
import com.atguigu.gmall.product.service.BaseCategory1Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;


/**
 * rpc - 这个包是供远程调用的
 * 作用是：帮web-all模块查询数据库
 * 注意点：路径随便写，只要web-all模块能对应
 */
@RequestMapping("/api/inner")
@RestController
public class CategoryController {

    @Autowired
    BaseCategory1Service baseCategory1Service;

    /**
     * 为首页准备三级分类数据 -- 也是完整的三级分类信息
     * @return
     */
    @GetMapping("/category/all")
    public List<BaseCategory> getAllCategory(){
        List<BaseCategory> categories = baseCategory1Service.getAllCategoryForIndexPage();
        return categories;
    }

    /**
     * 查询sku对应的分类所在完整路径
     * @param skuId
     * @return
     */
    @GetMapping("/category/sku/{skuId}")
    public BaseCategoryView getCategoryPathBySkuId(@PathVariable("skuId") Long skuId){
        BaseCategoryView view = baseCategory1Service.getCategoryPathBySkuId(skuId);
        return view;
    }

}
